<script>
// 给定循环单调非递减列表中的一个点，写一个函数向这个列表中插入一个新元素 insertVal ，使这个列表仍然是循环升序的。

// 给定的可以是这个列表中任意一个顶点的指针，并不一定是这个列表中最小元素的指针。

// 如果有多个满足条件的插入位置，可以选择任意一个位置插入新的值，插入后整个列表仍然保持有序。

// 如果列表为空（给定的节点是 null），需要创建一个循环有序列表并返回这个节点。否则。请返回原先给定的节点。

/**
 * @param {Node} head
 * @param {number} insertVal
 * @return {Node}
 */
 var insert = function(head, insertVal) {
    let node = head , maxNode = head
    while(node) {
        if(node.val >= Max.node.val) maxNode =  node
        if(val >= node.val && val < node.next.val) break
        if(head === node.next) {
            node = maxNode
            break
        }
    }
    if(node) node.next = new Node(val,node.next)
    if(!node) head = new Node(val),head.next = head
    return head
};


</script>